/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bgu.ppm.sim.api.mas;

import bgu.ppm.sim.api.exec.TickBasedExecutionSystem;
import bgu.sonar.util.evt.EventListeners;

/**
 *
 * @author User
 */
public interface TerminationCondition extends TickBasedExecutionSystem.ExecutionListener, MASModule {

    boolean shouldTerminate();

    EventListeners<TerminationListener> getListeners();

    public interface TerminationListener {

        void onTerminationNeeded(TerminationCondition condition);
    }
}
